package com.zfzs.post.service;

import com.zfzs.post.model.dto.VCodeDTO;

import java.util.Map;

/**
* 发送短信接口
* @author: ck
* @create: 2019/8/13/16:46
**/
public interface SmsService {

    /**
     * 发送注册验证码
     */
    Map<String,String> sendRegisteCode(VCodeDTO dto);

    /**
     * 发送登录验证码
     */
    Map<String,String> sendLoginCode(VCodeDTO dto);

    /**
     * 发送找回密码验证码
     */
    Map<String,String> sendForgetPwdCode(VCodeDTO dto);
    /**
     * 发送修改密码验证码
     */
    Map<String,String> sendUpdatePwdCode();

    /**
     * 修改提现密码验证码
     * @return
     */
    Map<String,String> updateWithdrawPwdCode();

    /**
     * 找回提现密码验证码
     * @param dto
     * @return
     */
    Map<String,String> forgetWithdrawPwdCode(VCodeDTO dto);
    /**
     * 发送实名认证验证码
     */
    Map<String,String> sendVerified(VCodeDTO dto);

    /**
     * 发送修改银行卡号验证码
     * @return 所属uuid
     */
    Map<String,String> sendUpdateBankNo(VCodeDTO dto);

    /**
     * 发送修改身份证号码验证码
     */
    Map<String,String> sendUpdateIdCardNo();

    /**
     * 发送修改手机号码验证码
     */
    Map<String,String> sendUpdatePhone(VCodeDTO dto);

    /**
     * 发送修改身份证姓名验证码
     */
    Map<String,String> sendUpdateIdCardName();

    /**
     * 发送修改提现银行卡信息
     */
    Map<String,String> sendUpdateWithdraw(VCodeDTO dto);

    /**
     * 发送短信 返回uuid
     */
    String sendSmsCode(Long channelId, String phone, String smsTemplayes);


    /**
     * 校验验证码
     * @param uuid
     * @param vCode
     */
    void verifiedCode(String uuid,String vCode);

    /**
     * 发哦是那个非验证码自定义内容
     * @param channelId
     * @param phone
     * @param content
     */
    void sendMessage(Long channelId, String phone, String content);

    /**
     * 验证注册时验证码接口
     * @param params
     */
    void verifiedRegisterCode(Map<String, Object> params);
}
